package com.ruoyi.carbon.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 出库申请对象 wms_out_warehouse_apply
 * 
 * @author ruoyi
 * @date 2024-11-22
 */
public class WmsOutWarehouseApply extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    @Excel(name = "编号")
    private Long id;

    /** 流水号 */
    @Excel(name = "流水号")
    private String serialNo;

    /** 业务单据编号 */
    @Excel(name = "业务单据编号")
    private Long bizBillId;


    /** 业务类型：3领料出库4发货出库 */
    @Excel(name = "业务类型：3领料出库4发货出库")
    private String bizType;

    /** 客户编号 */
    @Excel(name = "客户编号")
    private Long customerId;

    private String BillNo;
    private String customerName;
    private String contractNo;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private Long contractId;

    /** 合同类型：1采购合同2销售合同 */
    @Excel(name = "合同类型：1采购合同2销售合同")
    private String contractType;

    /** 申请类型：1入库单2出库单3补货单4发货单 */
    @Excel(name = "申请类型：1入库单2出库单3补货单4发货单")
    private String applyType;

    /** 申请人 */
    @Excel(name = "申请人")
    private String applyUser;

    /** 申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyTime;

    /** 申请状态：0未提交1待审核2已审核 */
    @Excel(name = "申请状态：0未提交1待审核2已审核")
    private String applyStatus;

    /** 审核人 */
    @Excel(name = "审核人")
    private String auditUser;

    /** 审核日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditTime;

    /** 审核状态：0驳回1通过 */
    @Excel(name = "审核状态：0驳回1通过")
    private String auditStatus;

    /** 审核意见 */
    private String auditComment;

    /** 单据状态：0未出库1已出库 */
    private String billStatus;

    /** 出库申请明细信息 */
    private List<WmsOutWarehouseApplyDetail> wmsOutWarehouseApplyDetailList;

    public WmsOutWarehouseApply() {
    }

    public WmsOutWarehouseApply(long serialVersionUID, Long id, String serialNo, Long bizBillId, String bizType, Long customerId, String BillNo, String customerName, String contractNo, Long contractId, String contractType, String applyType, String applyUser, Date applyTime, String applyStatus, String auditUser, Date auditTime, String auditStatus, String auditComment, String billStatus, List<WmsOutWarehouseApplyDetail> wmsOutWarehouseApplyDetailList) {

        this.id = id;
        this.serialNo = serialNo;
        this.bizBillId = bizBillId;
        this.bizType = bizType;
        this.customerId = customerId;
        this.BillNo = BillNo;
        this.customerName = customerName;
        this.contractNo = contractNo;
        this.contractId = contractId;
        this.contractType = contractType;
        this.applyType = applyType;
        this.applyUser = applyUser;
        this.applyTime = applyTime;
        this.applyStatus = applyStatus;
        this.auditUser = auditUser;
        this.auditTime = auditTime;
        this.auditStatus = auditStatus;
        this.auditComment = auditComment;
        this.billStatus = billStatus;
        this.wmsOutWarehouseApplyDetailList = wmsOutWarehouseApplyDetailList;
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSerialNo(String serialNo) 
    {
        this.serialNo = serialNo;
    }

    public String getSerialNo() 
    {
        return serialNo;
    }
    public void setBizBillId(Long bizBillId) 
    {
        this.bizBillId = bizBillId;
    }

    public Long getBizBillId() 
    {
        return bizBillId;
    }
    public void setBizType(String bizType) 
    {
        this.bizType = bizType;
    }

    public String getBizType() 
    {
        return bizType;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setContractId(Long contractId) 
    {
        this.contractId = contractId;
    }

    public Long getContractId() 
    {
        return contractId;
    }
    public void setContractType(String contractType) 
    {
        this.contractType = contractType;
    }

    public String getContractType() 
    {
        return contractType;
    }
    public void setApplyType(String applyType) 
    {
        this.applyType = applyType;
    }

    public String getApplyType() 
    {
        return applyType;
    }
    public void setApplyUser(String applyUser) 
    {
        this.applyUser = applyUser;
    }

    public String getApplyUser() 
    {
        return applyUser;
    }
    public void setApplyTime(Date applyTime) 
    {
        this.applyTime = applyTime;
    }

    public Date getApplyTime() 
    {
        return applyTime;
    }
    public void setApplyStatus(String applyStatus) 
    {
        this.applyStatus = applyStatus;
    }

    public String getApplyStatus() 
    {
        return applyStatus;
    }
    public void setAuditUser(String auditUser) 
    {
        this.auditUser = auditUser;
    }

    public String getAuditUser() 
    {
        return auditUser;
    }
    public void setAuditTime(Date auditTime) 
    {
        this.auditTime = auditTime;
    }

    public Date getAuditTime() 
    {
        return auditTime;
    }
    public void setAuditStatus(String auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public String getAuditStatus() 
    {
        return auditStatus;
    }
    public void setAuditComment(String auditComment) 
    {
        this.auditComment = auditComment;
    }

    public String getAuditComment() 
    {
        return auditComment;
    }
    public void setBillStatus(String billStatus) 
    {
        this.billStatus = billStatus;
    }

    public String getBillStatus() 
    {
        return billStatus;
    }

    public List<WmsOutWarehouseApplyDetail> getWmsOutWarehouseApplyDetailList()
    {
        return wmsOutWarehouseApplyDetailList;
    }

    public void setWmsOutWarehouseApplyDetailList(List<WmsOutWarehouseApplyDetail> wmsOutWarehouseApplyDetailList)
    {
        this.wmsOutWarehouseApplyDetailList = wmsOutWarehouseApplyDetailList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("serialNo", getSerialNo())
            .append("bizBillId", getBizBillId())
            .append("bizType", getBizType())
            .append("customerId", getCustomerId())
            .append("contractId", getContractId())
            .append("contractType", getContractType())
            .append("applyType", getApplyType())
            .append("applyUser", getApplyUser())
            .append("applyTime", getApplyTime())
            .append("applyStatus", getApplyStatus())
            .append("auditUser", getAuditUser())
            .append("auditTime", getAuditTime())
            .append("auditStatus", getAuditStatus())
            .append("auditComment", getAuditComment())
            .append("remark", getRemark())
            .append("billStatus", getBillStatus())
            .append("wmsOutWarehouseApplyDetailList", getWmsOutWarehouseApplyDetailList())
            .toString();
    }

    /**
     * 获取
     * @return BillNo
     */
    public String getBillNo() {
        return BillNo;
    }

    /**
     * 设置
     * @param BillNo
     */
    public void setBillNo(String BillNo) {
        this.BillNo = BillNo;
    }

    /**
     * 获取
     * @return customerName
     */
    public String getCustomerName() {
        return customerName;
    }

    /**
     * 设置
     * @param customerName
     */
    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    /**
     * 获取
     * @return contractNo
     */
    public String getContractNo() {
        return contractNo;
    }

    /**
     * 设置
     * @param contractNo
     */
    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }
}
